package com.kimstore.dao;

import com.kimstore.bean.Customer;
import java.util.List;

import com.kimstore.bean.Item;
import com.kimstore.bean.Product;
import java.util.Date;

public interface ItemDao extends GenericJpaDao<Item, Integer> {

    List<Item> getAllAvailableItems();

    List<Item> getAvailableItemsByProduct(Product product);

    Item findBySerial(String serial);

    List<Item> getAllFreebies();

    List<Item> getCustomerPurchases(Customer customerName);

    List<Item> getAllItemsWithRepair(Date startDate, Date endDate);

    boolean existsSerial(String serial);

    List<Item> getAllSoldItems();
    
    List<Item> getAllSoldItems(Date startDate, Date endDate);

    List<Item> findAll(int startIndex, int maxNumber);

    long count();
    
}
